#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
    给定一个字符串，找到它的第一个不重复的字符，并返回它的索引。如果不存在，则返回 -1。

    示例：

        s = "leetcode"
        返回 0

        s = "loveleetcode"
        返回 2
"""


# 暴力解法
class Solution(object):
    def firstUniqChar(self, s):
        """
        :type s: str
        :rtype: int
        """
        for i in range(len(s)):
            if s.count(s[i]) == 1:
                print(i)
                return i
        print(-1)
        return -1

"""
    思路：字符第一次出现位置与最后一次出现位置一致及可
    字符串方法：
        s.find() : str.find(str, beg=0 end=len(string)) 返回字符串第一次出现的位置，如果没有匹配项则返回 -1
        s.rfind() : str.rfind(str, beg=0 end=len(string)) 返回字符串最后一次出现的位置，如果没有匹配项则返回 -1
"""
class Solution1(object):
    def firstUniqChar(self, s):
        """
        :type s: str
        :rtype: int
        """
        for i in s:
            if s.find(i) == s.rfind(i):
                print(s.index(i))
                return s.index(i)
        print(-1)
        return -1


s = "leetcode"
s = "loveleetcode"
Solution().firstUniqChar(s)
Solution1().firstUniqChar(s)